//题目：有一个序列《序列的第一个数是n，
// 后面的每个数是前一个数整除2，请输出这个序列中值为整数的项
//输入一行包含一个整数n
//输出一行，包含多个整数，相邻的整数之间用一个空格分开，表示答案
//例子：输入20，输出20，10，5，2，1
//注意取值范围，数据大了就应该开ll
// 输入格式
// 输入一行包含一个整数 n。
// 输出格式
// 输出一行，包含多个整数，相邻的整数之间用一个空格分隔，表示答案。
// 输入输出样例
// 输入 
// 20
// 输出 
// 20 10 5 2 1
#include<bits/stdc++.h>
using namespace std;
using ll = long long;
int main() {
	ll n;
	cin >> n;
	if (n == 0)
		cout << n;
	while(n>0) {//循环输出
		cout << n << " ";
		n /= 2;
	}
	return 0;
}